package com.example.aigc_education.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDateTime;


import lombok.Data;

/**
 * 任务清单
 * @TableName stu_todo
 */
@TableName(value ="stu_todo")
@Data
public class Todo implements Serializable {
    /**
     * 序号
     */
    @TableId(type = IdType.AUTO)
    private Long todoId;

    /**
     * 任务序号
     */
    private Long planId;

    /**
     * 任务标题
     */
    private String todoTitle;

    /**
     * 子任务（json格式）
     */
//    @JsonFormat(shape = JsonFormat.Shape.STRING)
//    private String subTodos;
    private String subTodos;
    /**
     * 建议完成时间
     */
    private Integer suggestTime;

    /**
     * 课程章节
     */
    private String chapter;

    /**
     * 知识点
     */
    private String knowledgepointer;

    /**
     * 是否完成（0未完成 1待完成 2已完成）
     */
    private Integer isComplete;

    /**
     * 是否当前章节（0否 1是）
     */
    private Integer isCurrentChapter;

    /**
     * 任务类型（0课前 1课后 2复习）
     */
    private Integer type;

    /**
     * 状态（1正常 0失效）
     */
    private Integer status;

    /**
     * 作为依据判断todo被加入待办列表的时间
     */
    private LocalDateTime startTime;

    /**
     * 创建者
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}